$(function() {

	var oTable = new TableInit();
	oTable.Init();
	initSelect();
	$("#btn_query").click(function () {
		$('#tb_exceptionMessage').bootstrapTable('getOptions').pageNumber = 1;
		$('#tb_exceptionMessage').bootstrapTable('refresh');
	});
	
	
});
//初始化
function initSelect(){
	$('#topicName').selectpicker({
		size:10
	});
	$('#appName').selectpicker({
		size:10
	});
	//主题队列名称下拉
	$.ajax({
		url:'/zhgl-jzstyxx-manage/exceptionMessage/getTopicName',
		type:"POST",
		dataType:'json',
		success:function(data){
			$("#topicName").append("<option value=''>请选择</option>");
			if(data!=null){
				for(var i=0;i<data.length;i++){
					$("#topicName").append("<option value='"+data[i].topicQueueNo+"'>"+data[i].topicQueueName+"</option>");
				}				
			}
			$('#topicName').selectpicker('refresh');
		}
	});
	
	//应用名称下拉
	$.ajax({
		url:'/zhgl-jzstyxx-manage/exceptionMessage/getAppName',
		type:"POST",
		dataType:'json',
		success:function(data){
			$("#appName").append("<option value=''>请选择</option>");
			if(data!=null){
				for(var i=0;i<data.length;i++){
					$("#appName").append("<option value='"+data[i].appCode+"'>"+data[i].appName+"</option>");
				}
			}
			$('#appName').selectpicker('refresh');
		}
	});
}
var TableInit = function() {
	var oTableInit = new Object();

	oTableInit.Init = function() {

		$("#tb_exceptionMessage").bootstrapTable({
			url : '/zhgl-jzstyxx-manage/exceptionMessage/getExceptionMessag',// 请求后台参数
			method : 'post', // 请求方式（*）
			toolbar : '#toolbar', // 工具按钮用哪个容器
			dataType : 'json',
			striped : true, // 是否显示行间隔色
			cache : false, // 是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
			pagination : true, // 是否显示分页（*）
			singleSelect : false, // 单选CheckBox
			sortable : true, // 是否启用排序
			sortOrder : "asc", // 排序方式
			queryParams : oTableInit.queryParams,// 传递参数（*）
			sidePagination : "server", // 分页方式：client客户端分页，server服务端分页（*）
			pageNumber : 1, // 初始化加载第一页，默认第一页
			pageSize : 10, // 每页的记录行数（*）
			pageList : [ 10, 20, 30 ], // 可供选择的每页的行数（*）
			strictSearch : true,
			clickToSelect : true, // 是否启用点击选中行
			// height: 550, //行高，如果没有设置height属性，表格自动根据记录条数决定表格高度
			uniqueId : "id", // 每一行的唯一标识，一般为主键列
			cardView : false, // 是否显示详细视图
			rowStyle : function rowStyle(row, index) {
				return {
					css : {
						"font-size" : "14px",
						"height" : "15px",
						"line-height" : 1
					}
				};
			},
			detailView : false, // 是否显示父子表
			columns : [ {
				checkbox : true,
				width:'6%'
			}, {
				field : 'id',
				title : '序号',
				align : 'center',
				width:'6%',
				formatter : function(value, row, index) {
					var pageSize=$('#tb_exceptionMessage').bootstrapTable('getOptions').pageSize;//通过表的#id可以得到每页多少条
					var pageNumber=$('#tb_exceptionMessage').bootstrapTable('getOptions').pageNumber;//通过表的#id可以得到当前第几页
					return pageSize*(pageNumber-1)+index+1;
				}
			},   {
				field : 'topicQueueName',
				title : '主题队列名称',
				align : 'center',
				width : '15%',
				formatter : function(value, row, index) {
					if(value!=null){
						return "<span title=\""+value+"\">"+value+"</span>"
					}else{
						return ""}
				}
			},{
				field : 'appName',
				title : '应用名称',
				align : 'center',
				width : '15%',
				formatter : function(value, row, index) {
					if(value!=null){
						return "<span title=\""+value+"\">"+value+"</span>"
					}else{
						return ""}
				}
			},  {
				field : 'number',
				title : '消息堆积量(条)',
				align : 'center',
				width : '3%',
				formatter : function(value, row, index) {
					if(value!=null){
						return "<span title=\""+value+"\">"+value+"</span>"
					}else{
						return ""}
				}
			},  
			{
				field : 'url',
				title : '发送通道URL',
				align : 'center',
				formatter : function(value, row, index) {
					if(value!=null){
						return "<span title=\""+value+"\">"+value+"</span>"
					}else{
						return ""}
				}
			}, 	{
				field : 'finalTime',
				title : '最后堆积时间',
				align : 'center',
				width : '10%',
				formatter : function(value, row, index) {
					if(value!=null){
						return "<span title=\""+value+"\">"+value+"</span>"
					}else{
						return ""}
				}
			}
			]
		});
	};
	//得到查询的参数
	oTableInit.queryParams = function (params) {
		temp = {   
				limit: params.limit,   
				offset: params.offset,  
				topicQueueNo: $("#topicName").val(),
				appCode:$("#appName").val()
		};
		return temp;
	};

	return oTableInit;
}

//删除
function deleteByCodes(){
	 var arr = $('#tb_exceptionMessage').bootstrapTable('getSelections');
	 if (arr.length == 0) {
		 window.wxc.xcConfirm("请选择你要删除的数据！", window.wxc.xcConfirm.typeEnum.confirm,{
				title: "提示",
				btn: parseInt("0001",2), //确定按钮
			});
	 } else {
		 var apps = "";
		 var topics="";
		    for(var a = 0; a<arr.length; a++) {
		    	apps+=arr[a].appCode+",";
		    	topics+=arr[a].topicQueueNo+","
		    	}
		    apps=apps.substring(0,apps.length-1);
		    topics=topics.substring(0,topics.length-1);
	 var url = '/zhgl-jzstyxx-manage/exceptionMessage/deleteByCodes';
	 window.wxc.xcConfirm("确认删除吗？", window.wxc.xcConfirm.typeEnum.confirm,{
			title: "提示",
			onOk:  function(){
					$.ajax({
                		type: 'POST',
                		url: url,
                		dataType: "json",
                		data:{'apps':apps,'topics':topics},
                		success: function (result) {
                			if(result.state==400){
                				window.wxc.xcConfirm(result.message, window.wxc.xcConfirm.typeEnum.confirm,{
                					title: "提示",
                					btn: parseInt("0001",2), //确定按钮
                				});
                			}else if(result.state==200){
                				window.wxc.xcConfirm(result.message, window.wxc.xcConfirm.typeEnum.confirm,{
                					title: "提示",
                					btn: parseInt("0001",2), //确定按钮
                				});
                					$('#tb_exceptionMessage').bootstrapTable('refresh');
                			}
                }
            })	
		}
	 })
	}
}
/**
 * 重发
 * @returns
 */
function resend(){
	var url='/zhgl-jzstyxx-manage/exceptionMessage/resend';
	var arr = $('#tb_exceptionMessage').bootstrapTable('getSelections');
	if(arr.length==0){
		window.wxc.xcConfirm("请选择需要重发的数据！", window.wxc.xcConfirm.typeEnum.confirm,{
			title: "提示",
			btn: parseInt("0001",2),
		})
	}else if(arr.length>1){
		window.wxc.xcConfirm("只能选择单条数据进行重发！", window.wxc.xcConfirm.typeEnum.confirm,{
			title: "提示",
			btn: parseInt("0001",2),
		});
	}else{
		window.wxc.xcConfirm("确认重发吗？", window.wxc.xcConfirm.typeEnum.confirm,{
			title: "提示",
			onOk:  function(){
				 if(arr[0].topicQueueName==null){
					window.wxc.xcConfirm("该主题队列已被删除不能重发！", window.wxc.xcConfirm.typeEnum.confirm,{
						title: "提示",
						btn: parseInt("0001",2),
					});
				}else{
					if(arr[0].status=='1301'){//未发布
						window.wxc.xcConfirm("该主题队列被撤回了,无法重发", window.wxc.xcConfirm.typeEnum.confirm,{
							title: "提示",
							btn: parseInt("0001",2),
						});
					}else{
						$.ajax({
							type: 'POST',
				    		url: url,
				    		dataType: "json",
				    		data:{'appCode':arr[0].appCode,'topicQueueNo':arr[0].topicQueueNo},
				    		success: function (result) {
				    			if(result.state==400){
				    				window.wxc.xcConfirm(result.message, window.wxc.xcConfirm.typeEnum.confirm,{
				    					title: "提示",
				    					btn: parseInt("0001",2), //确定按钮
				    				});
				    			}else if(result.state==200){
				    				window.wxc.xcConfirm(result.message, window.wxc.xcConfirm.typeEnum.confirm,{
				    					title: "提示",
				    					btn: parseInt("0001",2), //确定按钮
				    				});
				    			}
				    			$('#tb_exceptionMessage').bootstrapTable('refresh');
				    		}			    		
						})
						
					}
					 
				}				
			}
		})
		
	}
	
}
